#ifndef EVENT_HANDLER_H_INCLUDED
#define EVENT_HANDLER_H_INCLUDED

#include <SDL.h>

class EventHandler
{
public:
	virtual ~EventHandler() = 0 {}
	void HandleEvent(const SDL_Event& event);

	virtual void OnKeyboardEvent(const SDL_KeyboardEvent&) =0;
	//virtual void OnKeyUp(const SDL_KeyboardEvent&) {}
	virtual void OnMouseMotionEvent(const SDL_MouseMotionEvent&) {}
	virtual void OnJoyAxisEvent(const SDL_JoyAxisEvent&) {}
	virtual void OnMouseButtonDownEvent(const SDL_MouseButtonEvent&) {}
	virtual void OnMouseButtonUpEvent(const SDL_MouseButtonEvent&) {}

	// ...
};

#endif
